package com.lzx.adx.report.support;

import com.lzs.adx.commmon.utils.SpringContextUtils;
import com.lzx.adx.report.enums.base.MediaChannel;
import com.lzx.adx.report.enums.base.ProductChannel;
import com.lzx.adx.report.support.strategy.channel.*;
import com.lzx.adx.report.support.strategy.media.AbstractCallback;
import com.lzx.adx.report.support.strategy.media.BeiZiCallBackStrategy;

public class ReportFactory {

    /**
     * 产品
     * @param productChannel
     * @return
     */
    public static AbstractReport getReport(String productChannel){
        if(productChannel.equals(ProductChannel.YEIYU.getProductChannel())){
            return SpringContextUtils.getBean(YeYuReportStrategy.class);
        }
        if(productChannel.equals(ProductChannel.XIN_YI.getProductChannel())){
            return SpringContextUtils.getBean(XinYiReportStrategy.class);
        }
        if(productChannel.equals(ProductChannel.JYM.getProductChannel())){
            return SpringContextUtils.getBean(JymReportStrategy.class);
        }
        if(productChannel.equals(ProductChannel.WPH.getProductChannel())){
            return SpringContextUtils.getBean(WphReportStrategy.class);
        }
        if(productChannel.equals(ProductChannel.KK.getProductChannel())){
            return SpringContextUtils.getBean(KuaKeReportStrategy.class);
        }
        if(productChannel.equals(ProductChannel.YOU_DAO.getProductChannel())){
            return SpringContextUtils.getBean(YouDaoReportStrategy.class);
        }
        if(productChannel.equals(ProductChannel.CZ.getProductChannel())){
            return SpringContextUtils.getBean(CzReportStrategy.class);
        }
        if(productChannel.equals(ProductChannel.JU_GAO.getProductChannel())){
            return SpringContextUtils.getBean(JuGaoReportStrategy.class);
        }
        if(productChannel.equals(ProductChannel.KJB.getProductChannel())){
            return SpringContextUtils.getBean(KjbReportStrategy.class);
        }
        if(productChannel.equals(ProductChannel.JDJR.getProductChannel())){
            return SpringContextUtils.getBean(JdjrReportStrategy.class);
        }
        if(productChannel.equals(ProductChannel.YI_DUI.getProductChannel())){
            return SpringContextUtils.getBean(YiDuiReportStrategy.class);
        }
        if(productChannel.equals(ProductChannel.YOYO_PRODUCT.getProductChannel())){
            return SpringContextUtils.getBean(YoYoReportStrategy.class);
        }
        if(productChannel.equals(ProductChannel.XUAN_YI.getProductChannel())){
            return SpringContextUtils.getBean(XuanYiReportStrategy.class);
        }
        if(productChannel.equals(ProductChannel.LI_TIAN.getProductChannel())){
            return SpringContextUtils.getBean(LiTianReportStrategy.class);
        }
        return null;
    }



}
